/*
 * compressObject.h
 *
 *  Created on: 14.03.2009
 *      Author: Christian Stupp
 */

#ifndef COMPRESSOBJECT_H_
#define COMPRESSOBJECT_H_

#include <string>
#include<zlib.h>
#include<stdlib.h>
#include <iostream>
#include "intToStr.h"

#ifdef _WIN32
#include <windows.h>
#else
#include<stdlib.h>
#endif

namespace oal {
	class compressObject {
	private:
		std::string type;
	public:
		compressObject();
		compressObject(std::string type);
		virtual ~compressObject();
		std::string getType(void);
		bool isValid(void);
		std::string get20byte(std::string code);
		std::string performCompress(std::string content);
		std::string performDeCompress(std::string content);
		std::string rawCompress(std::string content);
		std::string rawDeCompress(std::string content, uLongf newDestLen = 0);
	};
};
#endif /* COMPRESSOBJECT_H_ */
